<?php
class User 
{
    # Déclaration des variables d’après la BDD
    public $id;
    public $nickname;
    public $password;
    public $lastname;
    public $firstname;
    public $birthdate;
    public $url_avatar;
    
    
    # Constructeur
    # On peut instancier un objet existant en passant son ID 
    # Ou en créer un nouveau (sans passer de paramètre)
    
    public function __construct($id='') 
    {
        if($id != '') 
        {
            $this->id = $id;
            $this->load();
        }
    }
    
    # Chargement depuis la BDD
    public function load() 
    {
        if(isset($this->id)) 
       {
            $db = Database::getInstance();
            $sql = 'SELECT user_nickname,
                           user_password,
                           user_lastname,
                           user_firstname,
                           user_birthdate,
                           user_url_avatar
                    FROM blog_user
                    WHERE user_id = "'.$this->id.'"';
            if($result = $db->fetch($sql)) 
            {
                  # On remplit l’objet grâce aux attributs récupérés
                  $this->nickname = $result[0]['user_nickname'];
                  $this->password = $result[0]['user_password'];
                  $this->lastname = $result[0]['user_lastname'];
                  $this->firstname = $result[0]['user_firstname'];
                  $this->birthdate = $result[0]['user_birthdate'];
                  $this->url_avatar = $result[0]['user_url_avatar'];
                  return true;
            }
            echo( $this->birthdate);
            return false;
        }
    }
    
    # Méthode surchargée pour l'affichage de l'objet : echo $obj;
    public function __toString() 
    {
        return $this->nickame." ".$this->lastname;
    }
    
    

}
?>